package com.smartthinking.dive;

import java.util.ArrayList;
import java.util.Dictionary;
import java.util.Hashtable;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;

public class Busqueda_Eventos extends Activity{

public ListView listView2;
Button mes, btnmes,  btnevento1, organizador, btnorganizador, btnciudad, ciudad;
EditText evento;
String cat, cat1, cat2;
String eve_idr, eve_fec_ini;
//int eve_fec_ini=0;
String eve_proveedores;
int org=0, edo_cve=0;
ProgressBar progres4;
TextView limpiar;

String[] datos;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.busqueda_eventos);
		progres4 = (ProgressBar) findViewById(R.id.progressBar5);
		
		btnmes = (Button) findViewById(R.id.button3);
		btnevento1 = (Button) findViewById(R.id.btncontacto);
		mes = (Button) findViewById(R.id.btnMes);
		evento = (EditText) findViewById(R.id.btnevento);
		organizador= (Button) findViewById(R.id.btnOrganizador);
		btnorganizador =(Button) findViewById(R.id.button2);
		btnciudad = (Button) findViewById(R.id.btnciudad);
		ciudad = (Button) findViewById(R.id.btnCiudad);
		limpiar = (TextView) findViewById(R.id.textViewlimpiar);
		
		limpiar.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				mes.setText("Mes");
				eve_fec_ini=null;
				organizador.setText("Organizador");
				eve_proveedores=null;
				evento.setText("");
				ciudad.setText("Estado");
				edo_cve=0;
			}
		});
		
		btnmes.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				mes.setText("Mes");
				eve_fec_ini=null;
			}
		});
		
		btnorganizador.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				organizador.setText("Organizador");
				eve_proveedores=null;
				
			}
		});
		
		
		btnevento1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				evento.setText("");
			}
		});
		
		btnciudad.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				ciudad.setText("Estado");
				edo_cve=0;
			}
		});
		
	}	
	
	public void BotonCiudad(View view) {
		org=3;
		new AsyncBusquedaEvento().execute();
		
	}
	
	public void BotonOrganizador (View view){
		org=2;
		new AsyncBusquedaEvento().execute();
		
	}

		public void BotonMes(View view) {
			org=1;
			new AsyncBusquedaEvento().execute();
			
		}
		
		
		public void BtnBuscarevento(View view) {

			Intent intent = new Intent(Busqueda_Eventos.this,Eventos.class);
			intent.putExtra("quer2", ""+eve_fec_ini);
			intent.putExtra("quer3", ""+evento.getText().toString());
			intent.putExtra("quer4", ""+eve_proveedores);
			intent.putExtra("tipo1", "1");
			intent.putExtra("query3", ""+edo_cve);
			startActivity(intent);
			Log.i("PROVEEDORES",""+eve_proveedores);
		}
		
		public void BtnVerTodosEvento(View view) {
			
			Intent intent = new Intent(Busqueda_Eventos.this,Eventos.class);
			intent.putExtra("tipo1", "2");
			startActivity(intent);
		
		}
		
		
		
		public class AsyncBusquedaEvento extends AsyncTask<Void, Integer, Void>{
			
			ArrayList<Dictionary<String, String> > listaMes = null;
			ArrayList<Dictionary<String, String> > listaProveedores = null;
			ArrayList<Dictionary<String, String> > listaCiudad = null;
			int flir=0;
			
			protected void onPreExecute() {
				progres4.setVisibility(View.VISIBLE);
				super.onPreExecute();
			}
			
			
			
			@Override
			protected Void doInBackground(Void... arg0) {
				
				if(org==1){
					
					String url="select  DISTINCT strftime('%Y',eve_fec_ini) as year,strftime('%m', eve_fec_ini) as month" +
							" from eventos ORDER BY strftime('%Y', eve_fec_ini)," +
							"strftime('%m', eve_fec_ini)";
					listaMes = Utilities.qry2(getApplicationContext(),url);
					Dictionary<String, String>  dictionary = new Hashtable<String, String>();
					dictionary.put("month", "--TODOS--");
					dictionary.put("eve_fec_ini", "0");
					listaMes.add(0, dictionary);
//					eve_fec_ini = listaMes.get(0).get("year");
					Log.i("FECHA",""+url);
					flir=1;
				}
				
				
					
				
				if(org==2){
					
					String url1= "select DISTINCT eve_proveedores from eventos order by eve_proveedores";
//					String url1= "select * from eventos order by eve_proveedores";
					listaProveedores = Utilities.qry2(getApplicationContext(),url1);
					Dictionary<String, String>  dictionary = new Hashtable<String, String>();
					dictionary.put("eve_proveedores", "--TODOS--");
//					dictionary.put("eve_idr", "0");
					listaProveedores.add(0, dictionary);
//					eve_proveedores = Integer.parseInt(listaProveedores.get(0).get("eve_proveedores"));
//					eve_proveedores = listaProveedores.get(0).get("eve_proveedores");
					flir=2;
					Log.i("PROVEEDORES",""+eve_proveedores);
				}
				
				
				if(org==3){
					
					String url1="select * from estado order by edo_des";
					listaCiudad = Utilities.qry2(getApplicationContext(),url1);
					Dictionary<String, String>  dictionary = new Hashtable<String, String>();
					dictionary.put("edo_des", "--TODOS--");
					dictionary.put("edo_cve", "0");
					listaCiudad.add(0, dictionary);
//					edo_cve = Integer.parseInt(listaCiudad.get(0).get("edo_cve"));
					flir=3;
					
				}
				
				return null;
			}
			
			
			
			
			protected void onPostExecute(Void result) {
				progres4.setVisibility(View.INVISIBLE);
				super.onPostExecute(result);
				
				if(flir==1){
					
					datos = new String[listaMes.size()];
					
					for(int i=0; i<listaMes.size(); i++){
						String mes = "";
						if (listaMes.get(i).get("month").equals("01")){
							mes = "Enero";
						} else if (listaMes.get(i).get("month").equals("02")){
							mes = "Febrero";
						} else if (listaMes.get(i).get("month").equals("03")){
							mes = "Marzo";
						} else if (listaMes.get(i).get("month").equals("04")){
							mes = "Abril";
						} else if (listaMes.get(i).get("month").equals("05")){
							mes = "Mayo";
						} else if (listaMes.get(i).get("month").equals("06")){
							mes = "Junio";
						} else if (listaMes.get(i).get("month").equals("07")){
							mes = "Julio";
						} else if (listaMes.get(i).get("month").equals("08")){
							mes = "Agosto";
						} else if (listaMes.get(i).get("month").equals("09")){
							mes = "Septiembre";
						} else if (listaMes.get(i).get("month").equals("10")){
							mes = "Octubre";
						} else if (listaMes.get(i).get("month").equals("11")){
							mes = "Noviembre";
						} else if (listaMes.get(i).get("month").equals("12")){
							mes = "Diciembre";
						}else if (listaMes.get(i).get("month").equals("--TODOS--")){
							mes=  "--TODOS--";
						}
						
//						datos[i] = listaMes.get(i).get("day")+"/" +mes+"/" + listaMes.get(i).get("year");
//						datos[i] = listaMes.get(i).get("day")+"/" +mes;
						if(mes.equals("--TODOS--")){
							datos[i] = mes;
						}else{
						datos[i] = mes+ " / "+listaMes.get(i).get("year");
						}
					}
					
					final Dialog dialog = new Dialog(Busqueda_Eventos.this);
					dialog.setContentView(R.layout.lista_evento);
					dialog.setTitle("Selecciona un Mes:");

					ArrayAdapter<String> adaptador = new ArrayAdapter<String>(Busqueda_Eventos.this,
							android.R.layout.simple_list_item_1, datos);


					listView2 = (ListView)dialog.findViewById(R.id.listViewevento);

					listView2.setAdapter(adaptador);
					
					listView2.setOnItemClickListener(new OnItemClickListener() {
						@Override
						public void onItemClick(AdapterView<?> a, View v, int position,
								long id) {
//							eve_fec_ini = listaMes.get(position).get("year")+"-"+listaMes.get(position).get("month")+"-"+listaMes.get(position).get("day");
							eve_fec_ini = listaMes.get(position).get("month");
//							eve_fec_ini = listaMes.get(position).get("eve_idr");
							mes.setText(datos[position]+ " / "+listaMes.get(position).get("year"));
							dialog.dismiss();
						}
					});
					dialog.show();
					
				}
				
					
				
				if(flir==2){
					
					datos = new String[listaProveedores.size()];

					for(int i=0; i<listaProveedores.size(); i++){
						datos[i] = ""+listaProveedores.get(i).get("eve_proveedores");
					}
					
					final Dialog dialog = new Dialog(Busqueda_Eventos.this);
					dialog.setContentView(R.layout.lista_evento);
					dialog.setTitle("Selecciona un Organizador:");


					ArrayAdapter<String> adaptador = new ArrayAdapter<String>(Busqueda_Eventos.this,
							android.R.layout.simple_list_item_1, datos);


					listView2 = (ListView)dialog.findViewById(R.id.listViewevento);

					listView2.setAdapter(adaptador);

					listView2.setOnItemClickListener(new OnItemClickListener() {
						@Override
						public void onItemClick(AdapterView<?> a, View v, int position,
								long id) {
							eve_proveedores = listaProveedores.get(position).get("eve_proveedores");
							organizador.setText(datos[position]+ "");
							dialog.dismiss();
							Log.i("PROVEEDORES",""+eve_proveedores);
						}
					});
					dialog.show();
					
				}
				
				
				
				if(flir==3){
					
					datos = new String[listaCiudad.size()];
					
					for(int i=0; i<listaCiudad.size(); i++){
						datos[i] = listaCiudad.get(i).get("edo_des");
					}
					
					final Dialog dialog = new Dialog(Busqueda_Eventos.this);
					dialog.setContentView(R.layout.lista_empresa);
					dialog.setTitle("Selecciona una Estado:");


					ArrayAdapter<String> adaptador = new ArrayAdapter<String>(Busqueda_Eventos.this,
							android.R.layout.simple_list_item_1, datos);


					listView2 = (ListView)dialog.findViewById(R.id.listViewempresa);

					listView2.setAdapter(adaptador);

					listView2.setOnItemClickListener(new OnItemClickListener() {
						@Override
						public void onItemClick(AdapterView<?> a, View v, int position,
								long id) {
							edo_cve = Integer.parseInt(listaCiudad.get(position).get("edo_cve"));
							ciudad.setText(datos[position]+ "");
							dialog.dismiss();
//							cat2 = listaCiudad.get(0).get("edo_cve");
						}
					});
					dialog.show();
					
				}
			
				
			}
		}
		
	
}